Ext.onReady(function() {
	showProgress('加载数据，请稍候...');

	setTimeout(function() {

		var sm = new Ext.grid.CheckboxSelectionModel({
			singleSelect : false
		});
		sm.handleMouseDown = Ext.emptyFn;
		function ShowType(val) {
			if (val == 0) {
				return '普通采购';
			} else if (val == 1) {
				return '特殊采购';
			} else if (val == 2) {
				return '<span style="color:red;">紧急采购</span>';
			} else if (val == 3) {
				return '新品采购';
			} else {
				return "暂无类型";
			}
		}
		var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), sm, {
			header : '订单号',
			dataIndex : 'planno'
		}, {
			header : '订货人',
			dataIndex : 'pname'
		}, {
			header : '供应商',
			dataIndex : 'uname'
		}, {
			header : '操作时间',
			renderer : Ext.util.Format.dateRenderer('Y-m-d'),
			dataIndex : 'operdate'
		}, {
			header : '审核人',
			dataIndex : 'username'
		}, {
			header : '审核时间',
			renderer : Ext.util.Format.dateRenderer('Y-m-d'),
			dataIndex : 'adate'
		}, {
			header : '计划到货时间',
			renderer : Ext.util.Format.dateRenderer('Y-m-d'),
			dataIndex : 'comedate'
		}, {
			header : '订单有效时间',
			renderer : Ext.util.Format.dateRenderer('Y-m-d'),
			dataIndex : 'validdate'
		}, {
			header : '运费',
			dataIndex : 'tranmoney'
		}, {
			header : '备注',
			dataIndex : 'remark'
		}

		]);
		var ds = new Ext.data.Store({
			baseParams : {
				trancode : '42120'
			},
			proxy : new Ext.data.HttpProxy({
				url : '../' + WebServiceUrl
			}),
			reader : new Ext.data.JsonReader({
				totalProperty : 'totalProperty',
				root : 'root'
			}, [{
				name : 'id'
			}, {
				name : 'planno'
			}, {
				name : 'pid'
			}, {
				name : 'pname'
			}, {
				name : 'uname'
			}, {
				name : 'provuid'
			}, {
				name : 'operdate',
				type : 'date',
				mapping : 'operdate.time',
				dateFormat : 'time'
			}, {
				name : 'username'
			}, {
				name : 'adate',
				type : 'date',
				mapping : 'adate.time',
				dateFormat : 'time'
			}, {
				name : 'comedate',
				type : 'date',
				mapping : 'comedate.time',
				dateFormat : 'time'
			}, {
				name : 'validdate',
				type : 'date',
				mapping : 'validdate.time',
				dateFormat : 'time'
			}, {
				name : 'tranmoney'
			}, {
				name : 'remark'
			}])
		});
		cm.defaultSortable = true; // 设置列可排序, 
		//grid要放在JSP文件中补引用的 如：JSP文件中有一句 <div id="grid" style="width:100%; height:100%"></div>
		var grid = new Ext.grid.GridPanel({   
			region : 'north',
			ds : ds,
			cm : cm,
			loadMask : {
				msg : '正在加载数据，请稍候。。。'
			},
			bbar : new Ext.PagingToolbar({
				pageSize : App.pageSize,
				store : ds,
				displayInfo : true,
				displayMsg : '显示第 {0} 条到 {1} 条记录，一共 {2} 条',
				emptyMsg : "没有记录"
			}),
			sm : new Ext.grid.RowSelectionModel({
				singleSelect : true
			}),
			title : "物料预定单查询",
			tbar : ['起始时间:', {
				xtype : "datefield",
				format : 'Y-m-d',
				id : 'keywords',
				value : new Date(),
				selectOnFocus : true
			}, '-', "截止时间:", {
				xtype : "datefield",
				format : 'Y-m-d',
				value : new Date(),
				id : 'keywords2',
				selectOnFocus : true
			}, '-', {
				text : '查询',
				tooltip : '查询',
				handler : doSearch,
				iconCls : 'search'
			}, new Ext.app.SearchField({
				store : ds,
				width : 200
			}),'->',{
				text : '打印',
				tooltip : '打印',
				handler : function() {
					onPrint();
				},
				iconCls : 'print'
			}],
			height : Ext.get("grid").getHeight() - 250,
			bodyStyle : 'width:100%'
		});

		var cmm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
		   	header : '客户名称',
			dataIndex : 'username',
			width : 150
		},{
			header : '物料名称',
			dataIndex : 'materielname',
			width : 150
		}, {
			header : '厂家条码',
			dataIndex : 'factcode',
			width : 100
		}, {
			header : '条形码',
			dataIndex : 'barcode',
			width : 100
		}, {
			header : '订货数量',
			dataIndex : 'amount',
			width : 80
		}, {
			header : '到货数量',
			dataIndex : 'comeamount',
			width : 80
		}, {
			header : '单位',
			dataIndex : 'attrib1',
			width : 80
		}, {
			header : '长',
			dataIndex : 'attrib2',
			width : 80
		}, {
			header : '宽',
			dataIndex : 'attrib3',
			width : 80
		}, {
			header : '厚',
			dataIndex : 'attrib4',
			width : 80
		}, {
			header : '标量值',
			dataIndex : 'attrib5',
			width : 80
		}, {
			header : '入库单价',
			dataIndex : 'inprice',
			width : 80
		}, {
			header : '含税价',
			dataIndex : 'taxprice',
			width : 80
		}, {
			header : '采购类型',
			dataIndex : 'type',
			renderer : ShowType,
			width : 80
		}, {
			header : '备注',
			dataIndex : 'remark',
			width : 110
		}]);
		cmm.defaultSortable = true;

		var dss = new Ext.data.Store({
			baseParams : {
				trancode : '421200'
			},
			proxy : new Ext.data.HttpProxy({
				url : '../' + WebServiceUrl
			}),
			reader : new Ext.data.JsonReader({
				totalProperty : 'totalProperty',
				root : 'root'
			}, [{
				name : 'id'
			}, {
				name : 'hid'
			}, {
				name : 'ord'
			}, {
				name : 'materielname'
			}, {
				name : 'factcode'
			}, {
				name : 'barcode'
			}, {
				name : 'amount'
			}, {
				name : 'comeamount'
			}, {
				name : 'inprice'
			}, {
				name : 'taxprice'
			}, {
				name : 'type'
			}, {
				name : 'flag'
			}, {
				name : 'modipid'
			}, {
				name : 'modidate'
			}, {
				name : 'remark'
			}, {
				name : 'attrib1'
			}, {
				name : 'attrib2'
			}, {
				name : 'attrib3'
			}, {
				name : 'attrib4'
			}, {
				name : 'attrib5'
			},{
				name : 'username'
			}])
		});

		var grid2 = new Ext.grid.GridPanel({
			region : 'center',
			ds : dss,
			cm : cmm,
			loadMask : {
				msg : '正在加载数据，请稍候。。。'
			},
			sm : new Ext.grid.RowSelectionModel({
				singleSelect : true
			}),
			title : "物料预定明细",
			height : 250,
			bodyStyle : 'width:100%'
		});

		var ct = new Ext.Panel({
			renderTo : 'grid',
			bodyStyle : 'width:100%',
			height : Ext.get("grid").getHeight(),
			layout : 'border',
			border : false,
			items : [grid, grid2]
		});

		// 双击事件
		grid.on('rowdblclick', function(grid, rowIndex, e) {
			new App.EditSalesOrders(ds, grid, rowIndex);
		});

		// 单击事件
		grid.on('rowclick', function(grid, t, rowIndex, e) {
			SearchSalesOrdersd();
		});

		// 加载分页参数
		ds.load({
			params : {
				start : 0,
				limit : App.pageSize
			}
		});

		var onPrint = function() {
			var _record = grid.getSelectionModel().getSelected();
			if (!_record) {
				Ext.MessageBox.alert('友情提示', '请选择一条信息，进行打印!');
			} else {
				openBrWindow('../reportJsp/showReport.jsp?raq=wlcgdd&arg1='
						+ _record.data.id, '打印');
			}
		}

		// 根据单头Id查询销售明细
		function SearchSalesOrdersd() {
			var record = grid.getSelectionModel().getSelected();
			dss.baseParams = {
				hid : record.get('id'),
				trancode : '421200'
			}
			dss.load({
				params : {
					start : 0,
					limit : App.pageSize
				}
			});
		};

		function doSearch() {
			var keywords = Ext.get('keywords').dom.value;// 起始时间
			var keywords2 = Ext.get('keywords2').dom.value;// 结束时间
			ds.baseParams = {
				keywords : keywords,
				keywords2 : keywords2,
				trancode : '42120'
			};
			ds.load({
				params : {
					start : 0,
					limit : App.pageSize
				}
			});
		}
		// 获得当前日期
		function showDate() {
			var today = new Date();
			var day = today.getDate();
			var month = today.getMonth() + 1;
			var year = today.getYear();
			var date = year + "-" + month + "-" + day;
		}
		// 注册回车查询事件
		Ext.getCmp('keywords2').on('specialkey', doSearch);

		Ext.MessageBox.hide();//隐藏进度条
	}, 1000)
})
